Up Close and Personal with Juri Munkki

Some folks enjoy meeting the people behind the scenes of Ambrosia, some are curious about what goes into a new program, and some are just plain nosy. So each issue of The Ambrosia Times we will interview a member of the Ambrosia family.

 Ambrosia Times: Please state your name and hometown for the
record.

iknisleH, ikknuM iruJ (Everyone plays records backward anyway...)

AT - Tell us what first drew you to the mystical and cryptic art of
programming?

JM - I guess part of the attraction came from my interest in science
fiction, but I like the challenges that programming problems offer me.
They can sometimes drive you almost crazy, but once you find an elegant solution, the reward is usually worth all the hard work.

My introduction to programming was at a high school physics class where a young French teacher had every student try to write a program on his TI-57 calculator. That calculator had 7 registers and could store up to 49 program steps and I had one the same day when it had been my turn to play with the teacher's calculator.

AT - Do you find yourself thinking in patterns such as: IF door locked THEN get key ELSE walk in?

JM - No, I'm way too absentminded to consciously think about things like that. Besides, I have strong Forth and RPN roots too, so it would actually be something like:

              door locked if key get else in walk then 

In any case, that program would leave you dumbly standing in front of the door once you had your key out. (Better make some use of the key and move that walking stuff outside the conditional part.)

AT - Was Arashi your first game? If not, what was?

JM - No, it wasn't my first one...nowhere close. My first games were for programmable calculators. Once I had been bitten by the programming bug, my father got it too and bought a bigger calculator. One of my first games was a mastermind for the HP-41CV programmable calculator.

Very shortly after that, I started writing games for the Apple II. I did it on paper, because I only had the manuals. The computer came a few months later. I wrote a few Applesoft BASIC games at first, then a few with a mix of assembly and BASIC and finally stuff that was entirely in assembly language.

In 1983, I started looking for something a bit more powerful and interesting than the 6502. That's when the first rumors about the Macintosh started around here. I couldn't get one until August 1984.

I had played with GraForth on the Apple II, because it came with easy to use 3D graphics. This made it easy for me to learn MacForth on the Mac and start programming with that. At that time, it was probably the best native Mac-development tool around. Most real Mac programs were done on the Lisa, but of course all I had was a Macintosh with 128KB RAM and a single 400KB drive. I used MacForth to write a pretty good version of a game called Pengo. I did all the graphics, music, and programming myself and ended up doing most of the playing too, because the version of MacForth I had couldn't produce a stand-alone application.

AT - What other types of projects have you worked on in the past?

JM - There's a digital circuit simulator called Dizzy, a program for receiving WEFAX images over radio with the built-in sound input port. Then there's a program for making all sorts of bar codes, a draw type of program for designing something a bit like web pages. I also wrote a screen contents broadcasting program for classrooms back before Timbuktu had that capability.

There's really too much stuff to mention and there are a lot of games that I started working on, but never finished.

AT - What does the word Avara mean and why have you chosen it for this project?

JM - It's a Finnish word. The dictionary says: wide; vast; extensive; broad; spacious. Mostly when people ask me, I say it means spacious.

Avara started out as a test program for some 3D graphics routines. At first there was a wide open space with nothing in it...not even a horizon (that came a lot later). There's still too much space there for anyone to fill it completely, so you always have the danger of getting lost in the vast emptiness out there.

Another good reason for the name is that English and Japanese speakers find it relatively easy to pronounce and it is early in the alphabet, so it is going to end up very near the beginning of any alphabetized list of games (such as Arashi).

AT - Tell us what Avara means to you; ie. what is your purpose in creating such a game?

JM - As I said, it started out as a testing ground for the 3D system I had written. I needed to be able to place objects around and move to different positions to see if they were drawn correctly.

Then, the thing started to grow. I added some ideas that I had been playing with much, much earlier (like the walking bird-like character that you control in the game). I guess it started out as a tank game where the major difference was that you could move the turrets relatively freely.

Almost everything in Avara is designed as a reusable component and many of these components were designed so that they would work as they are with some other game ideas that I have. The strategy is to have a good set of libraries so that I can concentrate on new things and ideas with the next game instead of having to rewrite everything from scratch.

A lot of thought went into the keyboard editor and I hope it will be accepted and possibly even imitated. The same thing goes for the sound system, except Apple already has similar functionality built into their sound sprocket...the difference being that the Avara sound system runs just fine on a 68K.

AT - What makes Avara different from other 3D games like Marathon and Descent?

JM - The HECTOR unit is like a marionette. If you are good at the game, it can almost come alive and scare the **** out of everyone else. It may take you a while to get the hang of it, but that's what games are mostly about: they are rewarding learning experiences. The HECTOR unit has real dimensions, so if you manage it badly, you can get stuck permanently. In that way, Avara is much more like a simulator than M or D.

A lot of thought also went into balancing the power distribution so that you have to think carefully what your attacking strategy is. You can't simply walk around holding down the trigger and expect to win; nor can you hoard infinite energy and weapons and then blast everyone off the map with one furious attack.

Mass also plays a part here. If you carry a lot of weaponry, you will move slower and you will not be able to jump as high.

Another MAJOR difference is that you don't need a specialized editor to create new missions for Avara. The documentation is available freely and the recommended tool is simply ClarisWorks. In addition, you get tools for adding your own 3D shapes (in form of DXF files) and your own sounds into the game.

There are ups and downs to the way worlds are created though: you can make stuff that you couldn't do in most other 3D games, but some types of maps can not be rendered fast enough because the game can not make some assumptions about how the world is laid out.

AT - How did you enjoy your visit to the states?

JM - It wasn't my first time and this time no one forced me to come back, so I guess I did enjoy it. I was in need of a vacation and after the vacation I needed a week before I was ready to work again.

AT - How did you like Ambrosia? Isn't Cajun a really cool guy?

JM - Ambrosia is a cool company and I'm glad the world has grown up enough so that companies like this are viable.

Do I sense a bias in these questions? Anyway, Cajun is a cool blues dude and I'm waiting for your radio show to be broadcast on the net...

AT - While you were staying with Andrew, did you ever see him in a dress, or maybe notice wigs or very large high heels lying around his apartment?

JM - No, I didn't see any of that. He was very carefully and absolutely needlessly keeping it secret from me.

AT - When not programming, what other things do you enjoy doing? What are your hobbies?

JM - Windsurfing came before I started programming and it's still a major hobby for me. I don't take it seriously, but it does take up a significant amount of my time every summer. That, of course, leaves all winter for me to do computer stuff. So I'm a surf bum in the summer and a net bum in the winter.

Also, my very best friend takes up a lot of my time and it is quite enjoyable most of the time. For a quick peek, tune a graphical web browser to http://www.iki.fi/jmunkki/WWWPics

I also read quite a bit of science fiction and I like long walks in the prolonged twilight of Finnish summer nights. While writing Avara, I have also learned to enjoy shopping without actually buying anything.

AT - Since everyone who visits Rochester, NY must experience Nick Tahoe's, please explain to those less fortunate your impression of "The Garbage Plate."

JM - I skipped the onions, but that's what I usually try to do with pyttipannu (pytt i panne for Swedish speakers, I think) too. In other words: the resemblance was striking except for the lack of low quality sausage and ham in the garbage plate.

AT - I think Hector misses you. Is there anything that you would like to say to him?

JM - I keep an eye on him with the ingeniously hidden HectorCam. I would probably see more of him if you pointed the camera at the cage...

AT - One last question, what is your philosophy on the Internet and The Global Community. Do you think it can eliminate physical and political boundaries?

JM - I like having friends from all over the world. Even my Finnish friends seem to be a pretty international bunch now and a lot of that is because of the Internet.

I've been on the net for quite a long time, but it looks like the really interesting times are ahead of us. It will take a bit of time for the net to catch up with the current growth, but once we reach that point, it will be like reaching the highest point of a rollercoaster...

Networkable games will play an important role in getting total strangers to connect on the net. Avara is really a stepping stone towards a virtual world like William Gibson's Matrix or the world in Neal Stephenson's Snow Crash.